package com.welike.shibo.utils;

/**
 * @author fangyu
 * @version v1.0.0
 * @since 2019/11/22 10:24 上午
 */
public class PageUtil {
    /**
     * 在分页查询之前,为查询条件里加上分页参数
     *
     * @param pageNum  页码
     * @param pageSize 每页行数大小，默认的每页条数,即前端不传pageRow参数时的每页条数
     */
    public static Integer ResetLimit(Integer pageNum, Integer pageSize) {
        // 如果pageNum等于0则等于1，如果不等于0则为pageNum本身
        pageNum = pageNum == 0 ? 1 : pageNum;
        return (pageNum - 1) * pageSize;
    }

    /**
     * 获取总页数
     *
     * @param pageSize  每页行数大小
     * @param itemCount 结果的总条数
     * @return 总页数
     */
    public static int getPageCounts(int pageSize, int itemCount) {
        // 如果查询结果为0，总页数则为1
        if (itemCount == 0) {
            return 1;
        }
        // 总页数计算方式 结果总条数 % 每页数 取余 > 0 的话
        //          总页数则为 总条数 / 每页数+1   ,否则
        //          总页数则为 总条数 / 每页数
        return itemCount % pageSize > 0 ?
                itemCount / pageSize + 1 :
                itemCount / pageSize;
    }


    public static void main(String[] args) {
        for (int pageNum = 0; pageNum < 10; pageNum++) {
            System.out.println(PageUtil.ResetLimit(pageNum, 10));
        }
    }
}
